layui.use(['table','form','layer','laydate'], function () {
    const table = layui.table;
    const form = layui.form;
    const $=layui.jquery
    const layer=layui.layer;
    const laydate=layui.laydate;
    table.render({
        elem: '#storeTable'
        , url: '/store/list' //数据接口
        , page: true //开启分页
        , cols: [[
            {field: 'id', title: 'ID', width: 80, sort: true, fixed: 'left'}
            , {field: 'name', title: '仓库名'}
            , {field: 'address', title: '地址'}
            , {field: 'admin', title: '管理员'}
            , {field: 'adminTel', title: '管理员电话'}
            , {field:'shopId',title:"商店", type:'normal'}
            , {title: "操作", templet: "#operateTemplate"}
        ]]
        ,limits: [1,5, 10, 15, 20]

    });

    // 监听搜索操作
    form.on('submit(searchBtn)', function (data) {
        var result = JSON.stringify(data.field);
        //执行搜索重载
        table.reload('storeTable', {
            page: {
                curr: 1
            }
            , where: {
                condition: result
            },
        });

        return false;
    });


    function getALL(){
        $.ajax({
            type: 'get',
            url: "/menu/getALL",
            success: function (data) {
                var datas = data.data;
                console.log(datas)
                $("#parentId").html("");
                var trString = " <option value='0'>" + "一级菜单" + "</option>";
                $("#parentId").append(trString);
                for (var i = 0; i < datas.length; i++) {
                    var trString = " <option value='" + datas[i].id + "'>" + datas[i].name + "</option>";
                    console.log(trString)
                    $("#parentId").append(trString);
                }
                form.render()

            }
        })
    }




    //监听行工具事件
    table.on('tool(storeTable)', function(obj){ //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
        var data = obj.data //获得当前行数据
            ,layEvent = obj.event; //获得 lay-event 对应的值
        console.log(data);

        var sid=obj.data.id;
        if(layEvent === 'goStroe'){

            console.log(data.id)

            layer.open({
                type: 1,
                title: '仓库',
                content: $('#productTable1').html(), //这里content是一个DOM，注意：最好该元素要存放在body最外层，否则可能被其它的相对元素所影响
                skin: 'layui-layer-rim', //加上边框
                area: ['1200px', '600px'], //宽高
                success: function (index, layero) {
                    table.render({
                        elem: '#productTable'
                        , url: '/product/findBySid?storeId='+data.id //数据接口
                        , page: true //开启分页
                        , cols: [[
                            {field: 'id', title: 'ID', width: 80, sort: true, fixed: 'left'}
                            , {field: 'name', title: '商品名'}
                            , {field: 'code', title: '商品编号'}
                            , {field: 'price', title: '价格'}
                            , {field: 'unit'  ,title:'单位'}
                            , {field: 'num'  ,title:'数量'}
                            , {title: "操作", templet: "#productTable2"}
                        ]]
                        ,limits: [1,5, 10, 15, 20]
                    });


                    table.on('tool(productTable)',function (obj) {
                        var data = obj.data,
                            layEvent = obj.event;
                        console.log(data);
                        console.log(layEvent);
                        var pid=obj.data.id;

                        if (layEvent == 'gr'){//购入

                            layer.open({
                                type: 1,
                                title: '购入',
                                content: $('#change1').html(), //这里content是一个DOM，注意：最好该元素要存放在body最外层，否则可能被其它的相对元素所影响
                                skin: 'layui-layer-rim', //加上边框
                                area: ['600px', '600px'], //宽高
                            });
                            var info = form.val("change1Form");



                            $("#save1Btn").on('click', function(){

                                var num=$("#num1").val();
                                console.log(num)
                                $.ajax({
                                    url: "/product/modify",
                                    type: 'post',
                                    data: {
                                        'sid':sid,
                                        'pid':pid,
                                        'type':0,
                                        'num':num,
                                        'toStoreId':""

                                    },
                                    success: function (data) {
                                        console.log(data)
                                        if(data.code==200){
                                            layer.alert("新增或修改成功", {
                                                    icon: 6
                                                },
                                                function() {
                                                    layer.closeAll();
                                                    $("#searchBtn").click();
                                                });

                                        }
                                    },

                                })

                            })


                        }else if (layEvent == 'sc'){//售出
                            layer.open({
                                type: 1,
                                title: '售出',
                                content: $('#change3').html(), //这里content是一个DOM，注意：最好该元素要存放在body最外层，否则可能被其它的相对元素所影响
                                skin: 'layui-layer-rim', //加上边框
                                area: ['600px', '600px'], //宽高
                            });

                            var info = form.val("change3Form");

                            $("#save3Btn").on('click', function(){
                                var num=$("#num3").val()
                                $.ajax({
                                    url: "/product/modify",
                                    type: 'post',
                                    data: {
                                        'sid':sid,
                                        'pid':pid,
                                        'type':1,
                                        'num':num,
                                        'toStoreId':""
                                    },
                                    success: function (data) {
                                        console.log(data)
                                        if(data.code==200){
                                            layer.alert("新增或修改成功", {
                                                    icon: 6
                                                },
                                                function() {
                                                    layer.closeAll();
                                                    $("#searchBtn").click();
                                                });

                                        }
                                    },

                                })

                            })
                        }else {//调拨

                            layer.open({
                                type: 1,
                                title: '调拨',
                                content: $('#change2').html(), //这里content是一个DOM，注意：最好该元素要存放在body最外层，否则可能被其它的相对元素所影响
                                skin: 'layui-layer-rim', //加上边框
                                area: ['600px', '600px'], //宽高
                            });
                            $.ajax({
                                url: "/store/list1",
                                type: 'post',
                                success: function (data) {
                                    console.log(data)
                                    var datas=data.data
                                    if(data.code==200){
                                        for (var i = 0; i < datas.length; i++) {
                                            if(datas[i].id!=sid){
                                                var trString = " <option value='" + datas[i].id + "'  >" + datas[i].name + "</option>";
                                                console.log(trString)
                                                $("#toStoreId").append(trString);
                                            }

                                            form.render(null,'change2Form')
                                        }

                                        form.render()
                                    }
                                },

                            })



                            $("#save2Btn").on('click', function(){
                                var num=$("#num2").val()
                                var toStoreId=$("#toStoreId").val()
                                console.log(toStoreId)
                                $.ajax({
                                    url: "/product/modify",
                                    type: 'post',
                                    data: {
                                        'sid':sid,
                                        'pid':pid,
                                        'type':2,
                                        'num':num,
                                        'toStoreId':toStoreId
                                    },
                                    success: function (data) {
                                        console.log(data)
                                        if(data.code==200){
                                            layer.alert("新增或修改成功", {
                                                    icon: 6
                                                },
                                                function() {
                                                    layer.closeAll();
                                                    $("#searchBtn").click();
                                                });

                                        }
                                    },

                                })

                            })


                        }

                    })

                },


            });


        } else if(layEvent === 'edit'){
            var id = obj.data.id;
            console.log(id)
            $.ajax({
                url: "/store/getOne",
                type: 'post',
                data: {
                    'id':id
                },
                success: function (data) {
                    console.log(data)
                    if(data.code==200){
                        let store=data.data;
                        console.log(store)
                        layer.open({
                            type: 1,
                            title: '修改仓库',
                            content: $('#storeFormTemplate').html(), //这里content是一个DOM，注意：最好该元素要存放在body最外层，否则可能被其它的相对元素所影响
                            skin: 'layui-layer-rim', //加上边框
                            area: ['600px', '600px'], //宽高
                        });
                        setFormValue(store);

                    }else{

                    }

                },

            })

        }else if(layEvent ==='del'){
            var id = obj.data.id;
            layer.confirm('确认要删除吗？',function(index){
                $.ajax({
                    url: "/store/delete",
                    type: 'post',
                    data: {
                        'id':id
                    },
                    success: function (data) {
                        console.log(data)
                        if(data.code==200){
                            layer.msg('已删除!',{icon:1,time:1000});
                            $("#searchBtn").click();
                        }else{
                            layer.alert("增加或修改失败", {
                                icon: 5
                            })
                        }
                    },
                })
            });
        }
    });
    function setFormValue(store){
        console.log(store)
        form.val("storeForm", {
            "id":store.id,
            "name": store.name
            ,"address": store.address
            ,"admin": store.admin
            ,"adminTel": store.adminTel
            ,"shopId": store.shopId

        });
        form.render(null,'storeForm')

    }


    $('body').on('click',"#saveBtn" ,function () {
        var info = form.val("storeForm");
        console.log(info);
        $.ajax({
            url: "/store/saveOrUpdate",
            type: 'post',
            data: info,
            success: function (data) {
                console.log(data)
                if(data.code==200){
                    layer.alert("新增或修改成功", {
                            icon: 6
                        },
                        function() {
                            layer.closeAll();
                            $("#searchBtn").click();
                        });

                }else{
                    if(data.msg=="仓库已存在"){
                        layer.alert(data.msg, {
                            icon: 5
                        })
                    }else {
                        layer.alert("新增或修改失败", {
                            icon: 5
                        })
                    }

                }

            },

        })
    })
    $('#addBtn').on('click',function() {
        layer.open({
            type: 1,
            title: '新增仓库',
            content: $('#storeFormTemplate').html(), //这里content是一个DOM，注意：最好该元素要存放在body最外层，否则可能被其它的相对元素所影响
            skin: 'layui-layer-rim', //加上边框
            area: ['600px', '600px'], //宽高
        });
        form.render();


        $.ajax({
            url: "/shop/getByUserID",
            type: 'post',
            success: function (data) {
                var datas=data.data
                console.log(data)
                if(data.code==200){

                    $("#parentId").html("");

                    for (var i = 0; i < datas.length; i++) {
                            var trString = " <option value='" + datas[i].id + "' selected >" + datas[i].name + "</option>";
                        console.log(trString)
                        $("#shopId").append(trString);
                    }
                    form.render()

                }
            },

        })


    })



});
